如何使用Git Hooks自动部署项目
起因
继上次搭建好git服务器后,每次部署项目都要ftp上去,太过麻烦了,像我这种这么”懒”的人,如何忍受。于是google了下,才发现git有Git Hooks
这个东西,太方便了,废话不说写下过程存档。
关于
Git Hooks
是git
的钩子,Git Hooks
能使git
在特定的重要动作发生时触发,我们这里使用的是服务端下的post-receive
钩子脚本,简单来说就是我们每次push
代码到远程仓库就会执行post-receive
这个脚本里面的代码。
关于git hooks的更多信息可以访问git-scm
开始
建立仓库
首先我们新建两个仓库,一个是服务器仓库,一个是本地仓库,输入命令:
修改post-receive
接下来我们进入到serverRep下的hooks
文件夹,你会看到有很多个脚本文件,如果没有找到post-receive
,那么我们新建一个并进行编辑,输入命令:
然后把下面代码复制到post-receive(这是我自己使用的):
再执行
然后再为两个仓库设置下owner,输入命令:
添加remote
然而我们的本地仓库还没设置远程仓库呢(把服务器仓库pull到本地仓库),我们再为本地仓库设置remote到服务器仓库,进入到本地仓库目录下,输入命令:
远程仓库添加也可以用下面这个:
部署项目路径
到这里我们只要push
代码到服务器仓库,本地仓库也就会从服务器仓库pull
一份过来。假设我们服务器的项目路径是/var/www/html
,但代码是在本地仓库,我们只要把当前本地仓库路径软链接到项目路径就好了(文件同步保持变化),输入命令:
最后
这里只是我使用Git Hooks
进行简单的项目自动部署而已,Git Hooks
还有更加高级的玩法,用到的时候再去挖掘。
Just enjoy it!